// exports 和 module.exports区别：

// 接下来我们引入一个高频面试题讲解：
var a={name:'张三'}; // a引用着一个对象
var b=a; // b和a使用相同的地址引用着同一个对象
b.name="张三疯"; // b.name方式，其实修改的还是原对象a
console.log(a.name); // 张三疯
// 但是
b={name:'小豆子'};    // 创建一个新对象，用新对象地址代替了b中保存的旧对象地址
// 从此b和a对象再无关系。
console.log(a.name); // 还是张三疯，不是小豆子。

// 就如上面代码：exports相当于b, module.exports相当于a

// 在模块最后我们看module.exports所有指向的对象就为导出内容。

/*
   exports和modules.exports原理也是如此:
   modules.exports原本=模块对象
   exports=module.exports； // exports暂时也指模块对象
   exports.新成员=新值; // 也是将新成员添加到原模块对象上
   // 但是
   exports=新对象;
   exports.新成员=新值; // 这个新值，与就的模块对象已经无关了。
*/
